import request from '@/config/axios'

// 地图多边形信息 VO
export interface MapPolygonVO {
  id: string // 多边形ID（UUID）
  configId: string // 关联配置ID（关联member_map_config.id）
  name: string // 多边形名称
  strokeColor: string // 描边颜色（16进制色值）
  strokeWeight: number // 描边宽度（单位：像素，范围：1~20）
  fillColor: string // 填充颜色（16进制色值）
  fillOpacity: number // 填充透明度（范围：0.00~1.00）
  zIndex: number // 层级（值越大越靠上，范围：1~100）
  sortOrder: number // 排序（升序排列）
  area: number // 多边形面积（单位：平方米，自动计算）
  pointCount: number // 顶点数量（自动计算）
}

// 地图多边形信息 API
export const MapPolygonApi = {
  // 查询地图多边形信息分页
  getMapPolygonPage: async (params: any) => {
    return await request.get({ url: `/member/map-polygon/page`, params })
  },

  // 查询地图多边形信息详情
  getMapPolygon: async (id: number) => {
    return await request.get({ url: `/member/map-polygon/get?id=` + id })
  },

  // 新增地图多边形信息
  createMapPolygon: async (data: MapPolygonVO) => {
    return await request.post({ url: `/member/map-polygon/create`, data })
  },

  // 修改地图多边形信息
  updateMapPolygon: async (data: MapPolygonVO) => {
    return await request.put({ url: `/member/map-polygon/update`, data })
  },

  // 删除地图多边形信息
  deleteMapPolygon: async (id: number) => {
    return await request.delete({ url: `/member/map-polygon/delete?id=` + id })
  },

  // 导出地图多边形信息 Excel
  exportMapPolygon: async (params) => {
    return await request.download({ url: `/member/map-polygon/export-excel`, params })
  }
}

// 点-in-多边形判断API
export const PointInPolygonApi = {
  judge: async (data: any) => {
    return await request.post({ url: '/member/point-in-polygon/judge', data })
  }
}
